﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ApisixSDK.Common.Profile
{
    public class HttpProfile
    {

        public const string REQ_HTTPS = "https://";
        public const string REQ_HTTP = "http://";
        public const string REQ_POST = "POST";
        public const string REQ_GET = "GET";
        public const string REQ_PUT = "PUT";
        public const string REQ_DELETE = "DELETE";

        private string endpoint;

        private string protocol;

        private int readTimeout;

        private int writeTimeout;

        private int connTimeout;


        public HttpProfile()
        {
            this.endpoint = null;
            this.protocol = HttpProfile.REQ_HTTP;
            this.readTimeout = 100;
            this.writeTimeout = 100;
            this.connTimeout = 300;
        }

        public virtual string Endpoint
        {
            set
            {
                this.endpoint = value;
            }
            get
            {
                return this.endpoint;
            }
        }

        public virtual int ReadTimeout
        {
            set
            {
                this.readTimeout = value;
            }
            get
            {
                return this.readTimeout;
            }
        }

        public virtual int WriteTimeout
        {
            set
            {
                this.writeTimeout = value;
            }
            get
            {
                return this.writeTimeout;
            }
        }

        public virtual int ConnTimeout
        {
            set
            {
                this.connTimeout = value;
            }
            get
            {
                return this.connTimeout;
            }
        }

        public virtual string Protocol
        {
            set
            {
                this.protocol = value;
            }
            get
            {
                return this.protocol;
            }
        }

    }
}
